There are numerous Web pages on the Internet and Intranet today, each with a URL (Uniform Resource Locator). Web users use a Web browser to access Web pages by entering a URL directly or through bookmarking or search engine. Typically, a browser window can make only one Web page visible on the screen at any single moment. If users want to access multiple Web pages within a Web browser, they need to open each web page one-by-one, and can view one page one at a time. For example, if a user wants to check its Yahoo! Mail Inbox, Facebook Status, Personal Bank Account balance, and a collaboration SharePoint team-space website in the Intranet, he/she needs to open each web site to do that, which is very inconvenient. Furthermore, in many cases, a user typically would be more interested in a region of a Web page such as a stock portfolio table, or a report chat, instead of the whole web page. Web browsers do not have such capabilities.
One common way to address those issues is to aggregate users' favorite information into centralized portal pages so that the user can access the new portal web pages, which contain multiple components (or called portlets or widgets) that the user would like to view on a regular basis. The main drawback of the portal or personal-start-pages approaches used by My Yahoo, iGoogle, is that they rely on existing widgets provided by vendors, such as Yahoo or Google. Those widgets are pre-built mini-applications that users can choose from a widget library and add to his web pages. While there is a wide selection of widgets available for common consumer-oriented usages such as Email, Weather, Stock indices, games, RSS-feed based News, the selection is very limited and almost non-exist to access business web applications.
There are countless Web pages available in the Internet and Intranet, most of which do not contain any pre-built component to access and display their information in a new web page. In addition, each user and each business's interests are different, and what they want to access and aggregate are also different. Consequently, it is not practical to pre-create all the widget components for all the users for all the cases.
The World Wide Web and all the Web-based applications are comprised of web pages; each has a unique URL (Uniform Resource Locator) to identify its address. To be able to easily revisit the same page again, a user typically saves the URL of the page he is reading, this is called web page bookmarking. Web browsers such as Internet Explorer and Firefox all have basic built-in bookmarking features for personal usage on desktop. There are also online web-based social bookmarking services such as del.icio.us of Yahoo! that enable users to save and share their bookmarks through a web site. Those social bookmarking services typically support tagging of the URL of web pages to assist organization, search and sharing a large number of bookmarks.
The current bookmarking functionalities provided by browsers or the social bookmarking services are all based on saving URLs of web pages. While it is easy and simple to use, it has some major drawbacks as well.
First, it is only a link and does not communicate what's behind it, requiring the user to make many extra clicks to open each page in a new browser window to know what's in the website. Since each bookmark typically contains only a title and a link, a user can only guess the content of the web page from the title. To actually get some real idea about the page, a user needs to click and open the web page first using the link in the bookmark. There is an extra step for each link. When the number of bookmark items is small, this might not be an issue. But when there is large number of bookmark entries a user needs to explore, those extra clicks and associated efforts can add up quickly. Open each link one-by-one can be a lot of extra work, and in many cases becomes prohibitive for people even to open those pages.
Second, traditional bookmarking typically can only point to the URL of a web page (at page-level), but cannot point to a specified area/region (rectangular sub-region) of web page of interest (sub-region or component-level). Most web pages contain various regions such as header, footer, sidebar, ads, plus the main content such as news article, reports, video, graph, table etc. In many cases, a user only cares about a subset (a sub-region/area) of the web page such as the weather condition of a city, instead of all the other regions of the web page. Bookmarking the whole page only loses this context or knowledge of what a user was focusing on.
Third, many web pages contain Web-forms, requiring user to enter or select a lot parameters in multiple fields, and then submit to the Web Server, to generating a resulting page such a page containing a graphical report. A significant number of such web pages use HTTP POST to make the Web request, which means the parameters are not visible in the Web URL of resulting page, thus makes it impossible to bookmark it directly. This forces the user to re-enter the same parameters again and again for the same functionalities, and it is very inconvenient.
Many rich media content, such as rich text, pictures, video and embeddable widgets, are web-page friendly, and thus can be embedded directly in HTML-based web pages, and viewable or playable right in the web page. Yet, this is not the case for other types of content, such as Microsoft Office documents (Word, Excel, PowerPoint etc.). While links can be included to those documents in web pages, users need to click a link to a document first, and then open in an external desktop application such a Microsoft Office to view the content of the document. While the situation is a little better for PDF document, which a user can click and open the PDF document in the browser with a PDF viewer installed, it is still link-based just like the Microsoft Office document, requiring an extra click for each PDF document, and the PDF viewer will take over the whole web browser screen. In both cases, they are not web-page native, which means that they cannot be easily embedded right inside a web page similar to a YouTube video, and not viewable until opened in an external viewer with extra clicks and context switch.
A web widget (commonly referred to simply as a ‘widget’) generally refers to a small program that a user can put on a website, blog, or personalized start page by include a section of html-based embed code into those containing web pages.
With the rapid development of Web technologies, enterprises are looking for, and software vendors such as IBM are starting to deliver, software environments that are so easy and flexible that it can allow just about anyone (specifically including end-users) to create software they need for a given situation with no software programming, which is generally known as situational software. The emergence of situational software reflects the increasing required capability for end-user and work teams to use their greater Web technology know-how to produce software for their working team environment that is constantly changing with respect to the dynamic situation.